package com.wenan.ui.controls.menus
{

	/**
	 * 菜单项实体类
	 * */
	public dynamic class MenuItem
	{
		public static const SEPARATOR:String = "separator";
		
		/**
		 * 菜单项类型（_type = null：表示数字菜单项，_type = "separator":表示横杠菜单项）
		 * */
		private var _type:String;
		/**
		 * 菜单项名
		 * */
		private var _label:String = "";
		/**
		 * 菜单项对应的数据的类型
		 * */
		private var _data:Object;
		/**
		 * 子菜单项集合
		 * */
		private var _items:MenuItemCollection = new MenuItemCollection();
		
		/**
		 * 构造方法
		 * 
		 * @param type 菜单项类型
		 * @param label 菜单项名
		 * */
		public function MenuItem(type:String = null, label:String = "")
		{
			this._type = type;
			this._label = label;
		}

		/**
		 * 获取菜单项类型：根据创建时指定
		 * 
		 * @return 菜单项类型
		 * */
		public function get type():String
		{
			return _type;
		}

		public function set type(value:String):void
		{
			_type = value;
		}

		/**
		 * 获取菜单项名：创建时指定
		 * 
		 * @return 菜单项名
		 * */
		public function get label():String
		{
			return _label;
		}

		public function set label(value:String):void
		{
			_label = value;
		}

		/**
		 * 获取菜单项对应的数据的类型
		 * 
		 * @return 菜单项对应的数据的类型
		 * */
		public function get data():Object
		{
			return _data;
		}

		public function set data(value:Object):void
		{
			_data = value;
		}

		/**
		 * 获取子菜单项集合：根据菜单创建时赋值，后期不允许修改
		 * */
		public function get items():MenuItemCollection
		{
			return _items;
		}
	}
}